Understanding complex mechanical devices requires the ability to simulate the behaviors of the devices, and to make reasonable generalizations about those behaviors. Mechanism simulation may be done at a purely qualitative level, a mixed numerical/qualitative level, or at a detailed numerical level followed by qualitative characterization of the results. See, Hyun-Kyung Kim. Qualitative kinematics of linkages. Technical Report UIUCDS-R-90-1603, University of Illinois, Champaign-Urbana, May 1990; L. Joskowicz and E. P. Sacks. Computational kinematics. Artificial Intelligence, 51:381-416, 1991; Andrew Gelsey. Automated Reasoning about Machines. Ph.D. thesis, Yale University, April 1990. YALEU/CSD/RR No. 785. Each of these approaches has advantages and disadvantages with regard to predictive power, generation of incomplete or impossible behaviors, and computational cost. Detailed numerical simulation provides the most accurate level of detail, but at the highest cost. Since multiple simulations are needed to extract data about trends (e.g. velocity vs. change in a parameter value), precise numerical simulation is often unattractive, particularly at the earliest stages of design.
Simple processes and mechanical systems have been described in a number of qualitative reasoning systems. See, D. S. Weld and J. de Kleer, editors. Readings in Qualitative Reasoning about Physical Systems. Morgan Kaufmann, San Mateo, California, 1990. Most systems handle only the simplest cases of nonlinearity, due to the coarse structure of the qualitative representations. More specialized qualitative reasoning, like trigonometric reasoning, can give more precise results, such as whether or not a particular link in a mechanism can rotate completely with respect to another. It cannot be used to describe specific attributes of the space curves traced by arbitrary points on the mechanism, yet this information is essential to designers.
As the description of the model is more finely discretized, more detail can be obtained from the simulation. Configuration spaces have been used to model a variety of mechanisms. The representation becomes computationally intractable for more complicated non-fixed-axis mechanisms. However, within its domain of applicability, the configuration space approach is able to deal with topology changes during the operation of the mechanism. Simple approximations to dynamic behavior, incorporating models of steady-state forces, allow a number of mechanisms to be simulated at a coarse dynamic level. See, Elisha Sacks and Leo Joskowicz. Mechanism simulation with configuration spaces and simple dynamics. Department of Computer Science Technical Report CS-TR-367-92, Princton University, Princeton, N.J., March 1992.
Detailed numerical simulation, followed by abstracting the results into qualitatively interesting regions, is the most accurate and general approach to describing dynamics in qualitative terms. However, the process can be time-consuming due to long runtimes for general-purpose simulators. Since many simulation runs may be needed to extract data about behavioral trends, this approach can be computationally infeasible.
In the matrix-based approach to dynamics, the kinematic equations and the differential equations are solved together. One approach is to use a maximally redundant set of generalized coordinates (six positional and six velocity per rigid body), and solve using sparse matrix techniques. N. Ofiandea, M. A. Chase, and D. A. Calahan. A sparsity oriented approach to the dynamic analysis and design of mechanical systems--parts I and II. Journal of Engineering for Industry, Trans. ASME Ser. B, 99:773-779, 780-784, 1977. The resulting equations are stiff, and therefore require small integration time-steps. Other approaches attempt to reduce the number of generalized coordinates in order to improve computational efficiency, and to help reduce the stiffness of the matrix. See, Edward Haug. Computer Aided Kinematics and Dynamics of Mechanical Systems, volume 1 Basic Method. Department of Mechanical Engineering, University of Iowa, Iowa City, Iowa, 1985.
General-purpose simulators usually deal with fixed topology mechanisms. A simulator with built-in capabilities for detecting collisions and other topological changes has been proposed. This simulator reformulates the equations when changes occur, and then continues dynamic simulation. See, James F. Cremer. An Architecture for General Purpose Physical System Simulation-Integrating Geometry, Dynamics, and Control. Ph.D. thesis, Cornell University, Ithaca, N.Y., April 1989. Department of Computer Science TR 89-987.
An alternative to detailed numerical solution of the mixed algebraic/differential equations is the Dyne symbolic system which generates a set of pure differential equations, which describe the system in terms of a minimal set of generalized coordinates corresponding to the system's true degrees of freedom. The Dyne system uses symbolic reasoning to derive such equations, guided by a set of algebraic transformation rules and meta-level control rules. Such systems are hard to design, maintain, and debug. However, the equations derived using Dyne are useful to designers performing sensitivity analysis at selected points in the mechanism's behavior, and for describing qualitative regions of behavior. D. R. Brown and L. J. Leifer. The role of meta-level inference in problem-solving strategy for a knowledge-based dynamics analysis aid. Journal of Mechanical Design, Trans. ASME, 113:438-445, December 1991.
Symbolic geometric solution of kinematics problems using degrees of freedom analysis has been made. See, Glenn A. Kramer. Solving Geometric Constraint Systems: A case study in kinematics. MIT Press, Cambridge, Mass., 1992. The present invention is an entirely different approach to the solution of such geometric constraint problems and avoids algebraic reformulation of the geometric entities and constraints. Instead, the present method reasons directly about the degrees of freedom of the geometric entities that are possible.
Geometric entities have degrees of freedom which allow them to vary in location or size. For example, in 3 dimensional space a general fairly rigid body has three translational and three rotational degrees of freedom. A circle with a variable radius has three translational, two rotational, and one dimensional degree of freedom. In the present application the term "configuration" of a geometric entity is considered to be translational, rotational, and dimensional degrees of freedom variables used to parameterize the geometric entity. A detailed discussion of "degrees of freedom" analysis is discussed in U.S. Pat. No. 5, 043,929 commonly assigned to applicant (incorporated by reference for all purposes).
Direct methods for dynamics can be traced to Euler, who advocated treating dynamics by partitioning the problem into two parts: kinematics and kinetics. See, R. S. Hartenberg and J. Denavit. Kinematic Synthesis of Linkages. McGraw-Hill, New York, 1964. Kinematics deals with the positions of the parts of the mechanism as constrained by geometric relationships. Relative (but not absolute) velocities and accelerations often can be calculated kinematically. Kinetics deals with how physical objects move under the effect of forces, and deals with absolute velocity, acceleration, mass, inertia.
Euler also demonstrated how an object in three-dimensional space can be moved from one position to an arbitrary second position by a combination of a single translation and a single rotation, where the rotation axis is parallel to the translation vector, resulting in a screw-like motion. At any instant in time, a body in motion may be thought of as moving about an instantaneous screw in space; this screw's position, orientation, and pitch changes over time. The theory of screws was treated in depth in a geometric manner in R. S. Ball. A Treatise on the Theory of Screws. Cambridge University Press, Cambridge, UK, 1900.
The nonpatent references cited herein are incorporated by reference for background.
It would, therefore, be a significant advance in the art if an efficient method were devised for simulating the dynamics of complex mechanisms, permitting efficient solution of dynamics problems at interactive rates.